package com.ruoyi.sl.mapper;

import java.util.List;

import com.ruoyi.sl.domain.SlMonthPay;
import com.ruoyi.sl.domain.SlMonthWs;
import org.apache.ibatis.annotations.Param;

/**
 * 车间工资Mapper接口
 * 
 * @author admin
 * @date 2024-06-16
 */
public interface SlMonthWsMapper 
{
    /**
     * 查询车间工资
     * 
     * @param wsmpayId 车间工资主键
     * @return 车间工资
     */
    public SlMonthWs selectSlMonthWsByWsmpayId(Long wsmpayId);

    /**
     * 查询车间工资列表
     * 
     * @param slMonthWs 车间工资
     * @return 车间工资集合
     */
    public List<SlMonthWs> selectSlMonthWsList(SlMonthWs slMonthWs);

    /**
     * 条件查询车间工资列表
     *
     * @param slMonthWs 车间工资
     * @return 车间工资集合
     */
    public List<SlMonthWs> selectSlMonthWsListByRange(SlMonthWs slMonthWs);

    //根据日期姓名查询工资,返回格式转换为了计件和行政合并
    public List<SlMonthPay> selectSlMonthWsByUserAndDate(@Param("wsmpayYear") String wsmpayYear, @Param("wsmpayMonth") String wsmpayMonth, @Param("userName") String userName);

    /**
     * 新增车间工资
     * 
     * @param slMonthWs 车间工资
     * @return 结果
     */
    public int insertSlMonthWs(SlMonthWs slMonthWs);

    /**
     * 修改车间工资
     * 
     * @param slMonthWs 车间工资
     * @return 结果
     */
    public int updateSlMonthWs(SlMonthWs slMonthWs);

    /**
     * 车间工资变为历史
     *
     * @return 结果
     */
    public int updateSlMonthWsToHistory();

    /**
     * 删除车间工资
     * 
     * @param wsmpayId 车间工资主键
     * @return 结果
     */
    public int deleteSlMonthWsByWsmpayId(Long wsmpayId);

    //根据日期删除工资
    public int deleteSlMonthWsByDate(@Param("wsmpayYear") String wsmpayYear,@Param("wsmpayMonth") String wsmpayMonth);

    /**
     * 批量删除车间工资
     * 
     * @param wsmpayIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSlMonthWsByWsmpayIds(Long[] wsmpayIds);
}
